package cn.yinyu.queue.module.ecg.dal.dataobject.devrent;

import cn.yinyu.queue.module.ecg.dal.dataobject.patient.PatDetails;
import cn.yinyu.queue.module.ecg.enums.DevRentStateEnum;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.yinyu.queue.framework.mybatis.core.dataobject.BaseDO;

/**
 * 装机拆机 DO
 *
 * @author 垠域源码
 */
@TableName(value="dev_rent", autoResultMap = true)
@KeySequence("dev_rent_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevRentDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 申请编号
     */
    private String applyNo;
    /**
     * 就诊流水号
     */
    private String episodeId;
    /**
     * 患者编号
     */
    private String patId;
    /**
     * 患者名称
     */
    private String patName;
    /**
     * 患者详情
     */
    @TableField(typeHandler = JacksonTypeHandler.class)
    private PatDetails patDetails;
    /**
     * 检查类型
     */
    private Integer checkType;
    /**
     * 设备编号
     */
    @TableField(updateStrategy = FieldStrategy.ALWAYS)
    private String devId;
    /**
     * 装机时间
     */
    private LocalDateTime rentTime;
    /**
     * 拆机时间
     */
    private LocalDateTime returnTime;
    /**
     * 数据录入时间
     */
    private LocalDateTime entryTime;
    /**
     * 干扰数
     */
    private Integer interference;
    /**
     * 基线粗
     */
    private String baseline;
    /**
     * 脱离
     */
    private String detachment;
    /**
     * 备注
     */
    private String remark;

    /**
     * @see DevRentStateEnum
     */
    private Integer state;

    private Integer paid;
}
